//
//  Created by Huly-Gun Megatron on 10/3/09.
//  Copyright 2009 __MyCompanyName__. All rights reserved.
//



#import "stage.h"
#import "game_const.h"
#import <vector>
#include "shashka.h"


// classes definition
class Shashka;

class GameStage : public Stage
	{
	private:
		long _mainFont;
		
		long img_win;
		long img_gui;
		long img_dig;
		long img_dig_s;
		long img_ready;
		long img_color;
		long img_tutor;
		long img_help;
		long img_exit;
		
		long camera;
		long light;
		long white;
		long black;
		long pole;
		long pick_pole;
		long arrow;
		long tex_pole;
		float camera_zoom;
		// 100 очков
		long score100;
		long score200;
		long exellent;
		long quad;
	
		long sound_s;
		long sound_r;
		long snd_pick;
		long snd_pick2;
		long snd_shoot;
		
		bool touched;
		long activeColor;
		int gameState;
		void changeColor();
		
		std::vector<Shashka*> shashka_l;
		
		//шашка, которая в данный момент ходит
		//Shashka* activeShashka;
		//число шашек перед текущим ходом
		long prevBlack, prevWhite;
		// число шашек, вылетевших за текущий ход
		int cnt_remove_white;
		int cnt_remove_black;
		// очки
		int scoreBlack, scoreWhite;
		
		void drawScore(bool init = false, int cnt = 0, long color = 0);
		
	public:
		
		void Load();
		void Update();
		void Render();
		void Unload();
		void CreateShashka();
		void CreateShashka(const int prohod, const int step, const int color);

		bool check_Touch();
		void move_Shashka();
		
		void playAI();
		Shashka* getActive();
		
		void removeShashka();
		
		float px_t,py_t;
		long actSh;
		float dxx,dyy,dxxv, g_minDist;
		int g_timer;
		int AI_timer;
		
	};